﻿using BCCommon.TMS.FreightEnums;
using BCDto.TMS.FreightContact;
using BCDto.Website.User;
using System.Collections.Generic;

namespace BCService.TMS.FreightContactService
{
    /// <summary>
    /// 货运常用联系人
    /// </summary>
    public interface IFreightContactService
    {

        /// <summary>
        /// 添加货运常用联系人
        /// </summary>
        /// <param name="userDto">用户信息</param>
        /// <param name="freightContactRequestDto">货运常用联系人</param>
        /// <returns></returns>
        FreightContactDto Add(UserDto userDto, FreightContactRequestDto freightContactRequestDto);
        /// <summary>
        /// 修改货运常用联系人
        /// </summary>
        /// <param name="userDto">用户信息</param>
        /// <param name="freightContactId">货运常用联系人Id</param>
        /// <param name="freightContactPutDto">货运常用联系人</param>
        /// <returns></returns>
        FreightContactDto Update(UserDto userDto, long freightContactId, FreightContactRequestDto freightContactPutDto);
        /// <summary>
        /// 获取货运常用联系人列表
        /// </summary>
        /// <param name="userId">用户Id</param>
        /// <param name="freightContactType">货运联系人类型</param>
        /// <returns></returns>
        IEnumerable<FreightContactDto> Get(long userId, FreightContactType? freightContactType);
        /// <summary>
        /// 获取货运常用联系人
        /// </summary>
        /// <param name="userId">用户Id</param>
        /// <param name="phone">联系人手机号</param>
        /// <param name="freightContactType">货运联系人类型</param>
        /// <returns></returns>
        FreightContactDto Get(long userId, string phone, FreightContactType freightContactType);
        /// <summary>
        /// 删除货运常用联系人
        /// </summary>
        /// <param name="userDto">用户信息</param>
        /// <param name="freightContactId">货运常用联系人Id</param>
        /// <returns></returns>
        void Delete(UserDto userDto, long freightContactId);
    }
}
